/**
 * 
 */
package com.udistrital.udcajbweb.adminMenu.amusr.web.bean;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.model.SelectItem;

import com.udistrital.framework.adminMenu.modelo.Ament;
import com.udistrital.framework.adminMenu.modelo.Amprf;
import com.udistrital.framework.adminMenu.modelo.Amusr;
import com.udistrital.framework.servicio.ejb.AdminMenuEJBeanLocal;
import com.udistrital.framework.util.ParametrosSistema;
import com.udistrital.udcajbweb.comun.web.bean.BaseBean;

/**
 * @author nrodriguez
 *
 */
public class AmusrBean extends BaseBean {

	private static final long serialVersionUID = 622063373505959122L;
	private Amusr amusr;
	private List<SelectItem> marcaEspecialSI;
	private List<SelectItem> perfilListaSI;
	private List<SelectItem> entidadListaSI;
	private List<Amprf> perfiles;
	private List<Ament> entidad;
	private String reglaNavegacional = new String("amusrCrear");
	
	@EJB
	private AdminMenuEJBeanLocal adminMenuEJBeanLocal;
	

	@PostConstruct
	public void init() {
		amusr = new Amusr();
//		this.cargarMarcaEspecial();
//		this.cargarPerfil();
//		this.cargarEntidad();
	}
	
	//Logica de presentacion
	
	public String login(){
		
		return "";
	}
	
	
	public String  amusrIniciar(){
		this.cargarPerfil();
//		this.cargarEntidad();
		return reglaNavegacional;
	}
	
/*
 * MEtodo para cargar posibles estados de usuario
 */
	
	private void cargarMarcaEspecial(){
		
		this.marcaEspecialSI = new ArrayList<SelectItem>();
		
		SelectItem item = new SelectItem();
		item.setLabel(ParametrosSistema.obtenerValorPropidedad(
				ParametrosSistema.BaseNames.messages_business,
				"lbl_si"));
		item.setValue("S");
		marcaEspecialSI.add(item);
		
		item = new SelectItem();
		item.setLabel(ParametrosSistema.obtenerValorPropidedad(
				ParametrosSistema.BaseNames.messages_business,
				"lbl_no"));
		item.setValue("N");
		marcaEspecialSI.add(item);
		
	}
	
	/**
	 * Cargar perfiles disponibles
	 */
	private void cargarPerfil(){
		
		this.perfilListaSI = new ArrayList<SelectItem>();
		
		perfiles = new ArrayList<Amprf>();
		
		perfiles = adminMenuEJBeanLocal.consultarTodosPerfiles();
		
		if(perfiles != null && perfiles.size() > 0 ){
			
			for(Amprf amprf : perfiles){
				
				SelectItem item = new SelectItem();
				item.setLabel(amprf.getAprnom());
				item.setValue(amprf.getAprnom());
				perfilListaSI.add(item);
				
			}	
		}
	}
	
	private void cargarEntidad(){
		
		this.entidadListaSI = new ArrayList<SelectItem>();
		
		entidad = new ArrayList<Ament>();
		
		entidad = adminMenuEJBeanLocal.consultarTodasEntidades();
		
		if(entidad !=null && entidad.size() > 0){
			
			for(Ament ament : entidad){
			
			SelectItem item = new SelectItem();
			item.setLabel(ament.getAendes());
			item.setValue(ament.getAencod());
			entidadListaSI.add(item);
			}
		}	
	}
	
	/**
	 * Crear el usuario en la BD
	 * @return
	 */
	public String crearUsuario(){
		
		adminMenuEJBeanLocal.crearUsuario(amusr);
		
		super.addMensajeInfo(ParametrosSistema.obtenerValorPropidedad(
				ParametrosSistema.BaseNames.messages_business,
				"amusr_crear_ok"));
		
		return "";
	}
	
	//Metodos SET y GET
	public Amusr getAmusr() {
		return amusr;
	}
	public void setAmusr(Amusr amusr) {
		this.amusr = amusr;
	}

	public List<SelectItem> getMarcaEspecialSI() {
		return marcaEspecialSI;
	}

	public void setMarcaEspecialSI(List<SelectItem> marcaEspecialSI) {
		this.marcaEspecialSI = marcaEspecialSI;
	}

	public List<SelectItem> getPerfilListaSI() {
		return perfilListaSI;
	}

	public void setPerfilListaSI(List<SelectItem> perfilListaSI) {
		this.perfilListaSI = perfilListaSI;
	}

	public List<SelectItem> getEntidadListaSI() {
		return entidadListaSI;
	}

	public void setEntidadListaSI(List<SelectItem> entidadListaSI) {
		this.entidadListaSI = entidadListaSI;
	}

	
	

}
